package main

import "fmt"

func main() {
	arr := []int{64, 25, 12, 22, 11}
	fmt.Println("原始数组:", arr)
	selectSort(arr)
	fmt.Println("排序后数组:", arr)
}

// 选择排序,每次只改变外层循环的当前元素的位置,改为最小元素
func selectSort(a []int) {
	for i := 0; i < len(a)-1; i++ {
		minIndex := i
		for j := i + 1; j < len(a); j++ {
			if a[i] > a[j] {
				minIndex = j
			}
		}
		a[minIndex], a[i] = a[i], a[minIndex]
	}
}
